package com.hljx.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.hljx.dto.SysUserDTO;
import com.hljx.dto.SysUserPageDTO;
import com.hljx.entity.SysUser;
import com.baomidou.mybatisplus.extension.service.IService;
import com.hljx.vo.UserLoginVO;

/**
 * <p>
 * 用户表 服务类
 * </p>
 *
 * @author gx
 * @since 2023-09-25
 */
public interface SysUserService extends IService<SysUser> {

    /**
     * 登录
     *
     * @param code
     * @param passWord
     * @return
     */
    UserLoginVO login(String code, String passWord);

    /**
     * 添加或修改用户
     * @param sysUserDTO
     * @return
     */
    Boolean saveOrUpdateNew(SysUserDTO sysUserDTO);


    /**
     * 通过id删除
     * @param id 用户id
     * @return true or false
     */
    Boolean removeByIdNew(Long id);

    /**
     * 重置密码
     * @param id
     * @return
     */
    Boolean resetPassword(Long id,String password);

    /**
     * 修改用户启用状态
     * @param userId
     * @param status
     * @return
     */
    Boolean updateUserStatus(Long userId,Integer status);

    /**
     * 分页查询所有用户
     * @param sysUserPageDTO
     * @return
     */
    IPage<SysUser> listSysUser(SysUserPageDTO sysUserPageDTO);
}
